package com.example.lc_0005;

/**
 * @author zfj
 * @date 2022/2/28 -15:45
 */
public class Solution2 {
	public static void main(String[] args) {
		String s = "babad";
		System.out.println(longestPalindrome(s));

	}
	//暴力求解
	public static String longestPalindrome(String s) {
		int len=s.length();
		if(len<2){
			return s;
		}
		int maxLen=1;
		int begin=0;
		//检查数组下表越界，因此先转换为字符数组，
		char[] cs=s.toCharArray();
		//枚举所有长度严格大于1的子串，charArray[i..j]
		for(int i=0;i<len-1;i++){
			for(int j=i+1;j<len;j++){
				if(j-i+1>maxLen&&isPalindrome(cs,i,j)){
					maxLen=j-i+1;
					begin=i;
				}
			}
		}
		return s.substring(begin,begin+maxLen);
	}
	/*
	验证字串是否为回文
	 */
	private static boolean isPalindrome(char[] cs,int i,int j){
		while(i<j){
			if(cs[i]!=cs[j]){
				return false;
			}
			i++;
			j--;
		}
		return true;
	}
}
